
function IsDate(str: string): Boolean;
var
  dt: TDateTime;
begin
  Result := True;
  try
    dt := StrToDate(str);
  except
    Result := False;
  end;
end;

function IsTime(str: string): Boolean;
var
  dt: TDateTime;
begin
  Result := True;
  try
    dt := StrToTime(str);
  except
    Result := False;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsDate('30.01.2006') then
  begin
    ShowMessage('Yes, it is a date.');
  end;
  if IsTime('16:23') then
  begin
    ShowMessage('Yes, it is a time.');
  end;
end;